1. Field of the Invention
The present invention generally relates to query processing and, more particularly, to graphically representing relationships between different queries.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.
Regardless of the particular architecture, a DBMS can be structured to support a variety of different types of operations. Such operations can be configured to retrieve, add, modify and delete information being stored and managed by the DBMS. Standard database access methods support these operations using high-level query languages, such as the Structured Query Language (SQL). The term “query” denominates a set of commands that cause execution of operations for processing data from a stored database. For instance, SQL supports four types of query operations, i.e., SELECT, INSERT, UPDATE and DELETE. A SELECT operation retrieves data from a database, an INSERT operation adds new data to a database, an UPDATE operation modifies data in a database and a DELETE operation removes data from a database.
Any requesting entity, including applications, operating systems and, at the highest level, users, can issue queries against data in a database. Queries may be predefined (i.e., hard coded as part of an application) or may be generated in response to input (e.g., user input). A given requesting entity may execute a multiplicity of different queries. Upon execution of each query against a database, a corresponding query result is returned to the requesting entity.
Any executed query and corresponding query result(s) can be stored persistently. Thus, for instance, a user may frequently execute a given query to determine whether new records have been stored in the database(s) since a previous execution of the given query. Assume now that the user would like to compare different stored queries and/or different stored query results. For instance, assume that the user wants to merge results of two different statistical analyses which have been performed on a given database into an overall analysis result. Each of the two analysis results consists of a given set of queries, which have been executed against the given database, and corresponding query results. Thus, to merge the two different analysis results the user needs to identify similarities between both sets of queries and/or query results. In order to identify such similarities, the user must compare both sets of queries and/or query results manually. This is, however, cumbersome and inefficient for the user. Furthermore, in the case of complex queries, analyzing the query conditions and result fields of different queries to understand the mechanisms of the query conditions to identify similarities is a particularly tedious process.
Therefore, there is a need for an efficient technique for identifying similarities between different queries and/or query results.